#include "pch.hpp"
#include "memorystream.hpp"

using namespace logger;




const QString memorystream::SERVICE_NAME = __STR__(memorystream);




memorystream::memorystream(boost::shared_ptr<const services::provider> provider)
	: stream(provider)
	, m_writer(m_queue.writer<boostext::write_unbuffered>())
	, m_reader(m_queue.reader<boostext::read_unbuffered>())
	, pending(m_pending)
{}
///////////////////////////////////////////////////////////////////////////////////////////////////




stream& memorystream::operator<<(const entry& e)
{
	m_writer.push(e);
	m_pending();

	return *this;
}
///////////////////////////////////////////////////////////////////////////////////////////////////

memorystream::auto_list memorystream::pop_all()
{
	return m_reader.pop_all();
}
///////////////////////////////////////////////////////////////////////////////////////////////////
